﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Liang.Util.Task.Enums
{
    /// <summary>
    /// 任务状态
    /// </summary>
    public enum TaskScheduleStatus
    {
        /// <summary>
        /// 准备就绪,完成
        /// </summary>
        Standby,
        /// <summary>
        /// 运行中
        /// </summary>
        Running,
        /// <summary>
        /// 完成
        /// </summary>
        Completed,
        /// <summary>
        /// 停止
        /// </summary>
        Stopped,
        /// <summary>
        /// 异常终止
        /// </summary>
        Exception
    }
    /// <summary>
    /// 错误级别
    /// </summary>
    public enum TaskScheduleLogLevel
    {
        /// <summary>
        /// 调试
        /// </summary>
        DEBUG = 1,
        /// <summary>
        /// 信息
        /// </summary>
        INFO = 2,
        /// <summary>
        /// 警告
        /// </summary>
        WARN = 3,
        /// <summary>
        /// 错误
        /// </summary>
        ERROR = 4,
        /// <summary>
        /// 致命异常
        /// </summary>
        FATAL = 5
    }
    /// <summary>
    /// 服务定时模式枚举
    /// </summary>
    public enum TimerStrategyMode
    {
        /// <summary>
        /// 未设置
        /// </summary>
        NoSet = 0,
        /// <summary>
        /// 轮询方式
        /// </summary>
        Interval = 1,
        /// <summary>
        /// 哪些月的哪些天数的哪些时间可以执行
        /// </summary>
        Month,
        /// <summary>
        /// 每周中的哪些星期的哪些时间可以执行
        /// </summary>
        EveryWeek,
        /// <summary>
        /// 每天中的哪些时间可以执行
        /// </summary>
        EveryDay,
        /// <summary>
        /// 每个月指定的哪些天的哪些时间可以执行
        /// </summary>
        EveryMonth,
        /// <summary>
        /// 每年中哪些天的哪些时间可以执行
        /// </summary>
        EveryYear,
        /// <summary>
        /// 每年中哪些指定日期的哪些时间可以执行
        /// </summary>
        Date,
        /// <summary>
        /// 每个月倒数的哪些天的哪些时间可以执行
        /// </summary>
        LastDayOfMonth,
    }
}
